﻿using Fortunate.ViewModel;
using Fortunate.IService.BASE;
using Fortunate.Application.Entities;
using Fortunate.ViewModel.FilesModule;

namespace Fortunate.IService
{
    public interface IFilesTableService : IBaseServices<FilesTable>
    {
        /// <summary>
        /// 获取文件数据
        /// </summary>
        /// <param name="search"></param>
        /// <returns></returns>
        Task<DataModel<FilesTable>> GetFilesListAsync(FilesSearch search);

        /// <summary>
        /// 添加数据
        /// </summary>
        /// <param name="entity"></param>
        /// <returns></returns>
        Task<bool> InsertFilesTableAsync(FilesTable entity);

        /// <summary>
        /// 获取单个对象
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        Task<FilesTable> GetFilesTableObjectAsync(Guid id);

        /// <summary>
        /// 删除文件(假删除)
        /// </summary>
        /// <param name="id">文件id</param>
        /// <returns></returns>
        Task<bool> DeleteFilesTableAsync(Guid id);

        /// <summary>
        /// 删除文件数据
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        Task<bool> DropFilesTableAsync(Guid id);

    }
}
